
from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '长刀精通'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.05 + 0.02 * self.等级, 5)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.95


class 技能1(主动技能):
    名称 = "掩护射击"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [21, 220]
    无色消耗 = 0
    data0 = [0, 384, 422, 461, 499, 538, 577, 615, 654, 692, 731, 768, 808, 847, 884, 924, 963, 1001, 1040, 1079, 1118, 1156, 1194, 1233, 1271, 1310, 1348, 1388, 1427, 1464, 1503, 1543, 1580, 1618, 1660, 1696,
             1735, 1774, 1813, 1851, 1890, 1929, 1966, 2006, 2043, 2084, 2121, 2159, 2200, 2237, 2275, 2314, 2355, 2391, 2431, 2470, 2508, 2546, 2585, 2625, 2662, 2701, 2740, 2778, 2815, 2855, 2894, 2931, 2971, 3010, 3047]
    hit0 = 10
    TP成长 = 0.1
    TP上限 = 7


class 技能2(主动技能):
    名称 = "捷影步"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [21, 220]
    无色消耗 = 0
    data0 = [0, 682, 751, 821, 891, 959, 1028, 1097, 1163, 1235, 1303, 1371, 1439, 1511, 1580, 1647, 1717, 1785, 1856, 1924, 1993, 2061, 2129, 2201, 2269, 2338, 2406, 2477, 2545, 2615, 2682, 2751, 2821, 2890, 2957, 3026,
             3098, 3165, 3234, 3303, 3371, 3440, 3510, 3579, 3648, 3718, 3788, 3857, 3924, 3994, 4063, 4133, 4200, 4270, 4339, 4407, 4478, 4546, 4615, 4684, 4754, 4821, 4889, 4958, 5028, 5098, 5166, 5235, 5304, 5374, 5442]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 7


class 技能3(主动技能):
    名称 = "轮盘连射"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [33, 346]
    无色消耗 = 0
    data0 = [0, 2182, 2404, 2625, 2848, 3068, 3291, 3512, 3734, 3953, 4175, 4397, 4618, 4838, 5061, 5283, 5504, 5725, 5948, 6169, 6390, 6613, 6834, 7052, 7274, 7494, 7715, 7938, 8161, 8379, 8601, 8824, 9047, 9266, 9488, 9710, 9930, 10150,
             10373, 10593, 10815, 11038, 11256, 11479, 11701, 11924, 12143, 12365, 12588, 12808, 13027, 13250, 13470, 13693, 13914, 14136, 14357, 14579, 14801, 15022, 15244, 15466, 15687, 15904, 16126, 16347, 16568, 16790, 17012, 17232, 17455]
    hit0 = 1
    data1 = [0, 2776, 3062, 3342, 3624, 3905, 4188, 4468, 4751, 5033, 5315, 5596, 5876, 6158, 6440, 6721, 7004, 7286, 7567, 7847, 8132, 8411, 8693, 8975, 9258, 9539, 9820, 10102, 10383, 10665, 10947, 11230, 11511, 11792, 12075, 12357, 12637,
             12916, 13201, 13482, 13764, 14046, 14326, 14607, 14890, 15173, 15454, 15735, 16017, 16299, 16581, 16861, 17144, 17426, 17708, 17988, 18272, 18554, 18832, 19115, 19397, 19678, 19961, 20242, 20523, 20805, 21088, 21372, 21651, 21931, 22214]
    hit1 = 0
    data2 = [0, 329, 362, 395, 428, 463, 496, 530, 561, 595, 627, 661, 694, 729, 759, 795, 826, 861, 895, 929, 960, 992, 1026, 1059, 1095, 1125, 1160, 1191, 1226, 1256, 1291, 1327, 1360, 1393, 1424, 1458, 1491,
             1525, 1558, 1591, 1624, 1656, 1689, 1724, 1758, 1789, 1824, 1856, 1889, 1924, 1957, 1990, 2022, 2055, 2087, 2121, 2156, 2190, 2221, 2255, 2287, 2321, 2354, 2387, 2420, 2455, 2485, 2521, 2553, 2588, 2621]
    hit2 = 3
    TP成长 = 0.1
    TP上限 = 7

    # 三觉被动变更
    power2 = 3.72


class 技能4(主动技能):
    名称 = "剑刃突刺"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [33, 346]
    无色消耗 = 0
    data0 = [0, 478, 527, 573, 621, 669, 719, 766, 814, 862, 910, 958, 1009, 1058, 1104, 1152, 1201, 1248, 1298, 1346, 1392, 1440, 1489, 1537, 1585, 1634, 1681, 1730, 1779, 1824, 1874, 1924, 1972, 2020, 2067, 2116,
             2164, 2213, 2260, 2307, 2355, 2404, 2451, 2501, 2551, 2595, 2645, 2694, 2744, 2791, 2838, 2887, 2935, 2982, 3031, 3078, 3127, 3175, 3222, 3271, 3322, 3366, 3416, 3465, 3514, 3559, 3608, 3658, 3706, 3755, 3801]
    hit0 = 4
    data1 = [0, 1438, 1581, 1728, 1874, 2020, 2166, 2310, 2454, 2602, 2747, 2892, 3038, 3185, 3328, 3476, 3620, 3765, 3912, 4057, 4200, 4348, 4495, 4638, 4786, 4929, 5076, 5221, 5367, 5511, 5658, 5804, 5949, 6094, 6239, 6384,
             6532, 6677, 6821, 6969, 7114, 7258, 7404, 7550, 7694, 7842, 7986, 8132, 8278, 8424, 8566, 8714, 8859, 9006, 9151, 9296, 9440, 9588, 9731, 9876, 10024, 10168, 10316, 10461, 10605, 10751, 10899, 11041, 11189, 11333, 11479]
    hit1 = 1
    data2 = [0, 463, 511, 557, 604, 651, 698, 743, 791, 838, 883, 932, 980, 1026, 1073, 1119, 1165, 1212, 1259, 1306, 1353, 1400, 1448, 1494, 1540, 1587, 1634, 1681, 1728, 1774, 1821, 1867, 1913, 1961, 2009, 2054,
             2103, 2151, 2194, 2242, 2290, 2335, 2383, 2431, 2476, 2523, 2569, 2615, 2663, 2710, 2757, 2805, 2852, 2896, 2944, 2991, 3038, 3085, 3132, 3178, 3224, 3271, 3318, 3364, 3413, 3460, 3505, 3553, 3600, 3645, 3693]
    hit2 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能5(主动技能):
    名称 = "潜行射击"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [61, 255]
    无色消耗 = 0
    data0 = [0, 355, 390, 425, 463, 497, 534, 568, 604, 641, 676, 712, 749, 782, 819, 855, 891, 927, 961, 997, 1035, 1069, 1106, 1140, 1176, 1212, 1249, 1284, 1320, 1353, 1391, 1427, 1463, 1497, 1534, 1568, 1607,
             1642, 1676, 1711, 1747, 1783, 1820, 1854, 1891, 1926, 1962, 1997, 2034, 2069, 2105, 2140, 2177, 2211, 2248, 2283, 2320, 2355, 2390, 2427, 2463, 2498, 2533, 2568, 2605, 2641, 2677, 2713, 2748, 2783, 2821]
    hit0 = 15
    TP成长 = 0.1
    TP上限 = 7


class 技能6(主动技能):
    名称 = "利刃旋斩"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [33, 346]
    无色消耗 = 0
    data0 = [0, 740, 814, 892, 966, 1041, 1114, 1191, 1266, 1340, 1415, 1490, 1566, 1642, 1713, 1789, 1863, 1940, 2014, 2089, 2162, 2239, 2314, 2388, 2463, 2539, 2615, 2690, 2763, 2839, 2914, 2990, 3062, 3138, 3211,
             3288, 3363, 3437, 3512, 3588, 3663, 3738, 3811, 3887, 3962, 4038, 4111, 4184, 4259, 4335, 4412, 4485, 4561, 4636, 4712, 4784, 4860, 4935, 5011, 5086, 5160, 5234, 5310, 5385, 5461, 5533, 5609, 5684, 5760, 5832, 5908]
    hit0 = 2
    data1 = [0, 416, 458, 499, 543, 585, 626, 670, 710, 751, 794, 835, 878, 920, 961, 1006, 1044, 1086, 1129, 1172, 1214, 1254, 1297, 1340, 1380, 1421, 1464, 1506, 1548, 1591, 1634, 1675, 1716, 1758, 1800, 1843,
             1884, 1925, 1969, 2010, 2054, 2092, 2135, 2178, 2220, 2264, 2303, 2346, 2388, 2430, 2469, 2513, 2554, 2598, 2640, 2681, 2723, 2764, 2808, 2848, 2890, 2934, 2975, 3017, 3059, 3102, 3142, 3183, 3226, 3269, 3311]
    hit1 = 5
    data2 = [0, 2365, 2604, 2845, 3085, 3324, 3563, 3805, 4043, 4283, 4525, 4764, 5001, 5241, 5482, 5720, 5958, 6200, 6439, 6678, 6920, 7159, 7398, 7637, 7878, 8118, 8356, 8597, 8836, 9075, 9315, 9556, 9794, 10035, 10275, 10514, 10754, 10996,
             11233, 11473, 11713, 11954, 12193, 12432, 12671, 12909, 13149, 13390, 13629, 13868, 14109, 14349, 14589, 14828, 15067, 15308, 15548, 15787, 16028, 16266, 16507, 16745, 16985, 17226, 17463, 17704, 17945, 18184, 18424, 18662, 18903]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能7(被动技能):
    名称 = '暗刃战略'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)


class 技能8(主动技能):
    名称 = "游弹枪袭"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [62, 651]
    无色消耗 = 0
    data0 = [0, 262, 287, 313, 338, 365, 390, 418, 444, 471, 497, 523, 549, 574, 601, 626, 653, 680, 706, 732, 758, 785, 810, 836, 863, 890, 915, 941, 965, 993, 1019, 1045, 1073, 1098, 1126, 1150, 1176, 1203,
             1229, 1254, 1282, 1308, 1334, 1362, 1385, 1412, 1437, 1464, 1491, 1517, 1543, 1569, 1595, 1620, 1647, 1673, 1702, 1726, 1752, 1778, 1804, 1830, 1855, 1882, 1909, 1937, 1962, 1988, 2014, 2040, 2065]
    hit0 = 30
    TP成长 = 0.1
    TP上限 = 7


class 技能9(主动技能):
    名称 = "全方位射击"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [131, 1100]
    无色消耗 = 1
    data0 = [0, 516, 571, 622, 673, 727, 778, 830, 882, 934, 987, 1039, 1091, 1143, 1195, 1251, 1301, 1354, 1406, 1458, 1511, 1561, 1616, 1667, 1719, 1772, 1825, 1875, 1928, 1981, 2032, 2086, 2136, 2190, 2239, 2297,
             2348, 2396, 2453, 2503, 2554, 2610, 2660, 2711, 2764, 2817, 2867, 2920, 2974, 3025, 3078, 3131, 3182, 3234, 3287, 3338, 3392, 3442, 3497, 3547, 3602, 3655, 3705, 3759, 3809, 3865, 3914, 3966, 4019, 4073, 4121]
    hit0 = 15
    data1 = [0, 861, 948, 1035, 1120, 1208, 1295, 1382, 1470, 1556, 1645, 1734, 1821, 1906, 1992, 2079, 2169, 2254, 2342, 2426, 2514, 2600, 2688, 2777, 2864, 2952, 3039, 3124, 3213, 3301, 3385, 3473, 3559, 3647, 3735,
             3821, 3908, 3996, 4083, 4171, 4261, 4347, 4433, 4517, 4606, 4694, 4780, 4868, 4954, 5041, 5125, 5216, 5302, 5391, 5477, 5565, 5650, 5740, 5828, 5911, 5999, 6085, 6172, 6262, 6349, 6435, 6522, 6609, 6698, 6784, 6871]
    hit1 = 6
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1
    技能施放时间 = 1

    def 装备护石(self, char):
        self.hit0 = 20
        self.hit1 = 0
        self.power0 = 1.4732
        self.CDR *= 0.95


class 技能10(主动技能):
    名称 = "回旋飞剑"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [62, 651]
    无色消耗 = 1
    data0 = [0, 897, 989, 1079, 1170, 1263, 1353, 1444, 1532, 1625, 1716, 1807, 1896, 1989, 2077, 2170, 2261, 2350, 2439, 2531, 2625, 2713, 2806, 2897, 2989, 3079, 3171, 3256, 3350, 3439, 3531, 3620, 3712, 3806, 3895,
             3988, 4075, 4166, 4259, 4350, 4440, 4532, 4620, 4714, 4802, 4893, 4982, 5075, 5168, 5256, 5348, 5441, 5531, 5623, 5713, 5802, 5893, 5983, 6074, 6164, 6257, 6348, 6439, 6528, 6618, 6709, 6802, 6892, 6983, 7076, 7165]
    hit0 = 1
    data1 = [0, 724, 798, 866, 941, 1015, 1089, 1159, 1234, 1306, 1380, 1453, 1527, 1600, 1673, 1744, 1820, 1893, 1963, 2037, 2112, 2184, 2257, 2330, 2401, 2477, 2550, 2618, 2697, 2769, 2839, 2912, 2989, 3059, 3132,
             3206, 3280, 3353, 3423, 3497, 3571, 3644, 3714, 3791, 3862, 3935, 4008, 4084, 4154, 4227, 4302, 4376, 4448, 4521, 4591, 4666, 4740, 4812, 4884, 4959, 5030, 5106, 5179, 5252, 5323, 5398, 5467, 5545, 5618, 5688, 5761]
    hit1 = 8
    data2 = [0, 1926, 2121, 2317, 2512, 2707, 2904, 3100, 3293, 3493, 3684, 3880, 4074, 4271, 4464, 4661, 4855, 5052, 5245, 5442, 5636, 5831, 6025, 6222, 6416, 6613, 6808, 7003, 7195, 7395, 7590, 7785, 7976, 8177, 8369, 8565, 8761,
             8954, 9147, 9347, 9543, 9734, 9928, 10128, 10321, 10514, 10711, 10907, 11102, 11298, 11493, 11687, 11883, 12079, 12274, 12467, 12663, 12859, 13054, 13249, 13445, 13641, 13836, 14033, 14226, 14421, 14618, 14814, 15006, 15201, 15397]
    hit2 = 5
    TP成长 = 0.1
    TP上限 = 5


class 技能11(主动技能):
    名称 = "枪刃乱舞"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [174, 1461]
    无色消耗 = 1
    data0 = [0, 620, 679, 748, 807, 870, 934, 994, 1056, 1119, 1184, 1248, 1305, 1373, 1436, 1498, 1558, 1621, 1683, 1745, 1811, 1871, 1933, 1997, 2060, 2124, 2185, 2248, 2311, 2370, 2438, 2497, 2559, 2622, 2684, 2747,
             2810, 2873, 2938, 3000, 3061, 3125, 3188, 3246, 3311, 3374, 3438, 3497, 3560, 3625, 3686, 3750, 3814, 3877, 3937, 4000, 4064, 4127, 4186, 4248, 4313, 4372, 4437, 4501, 4563, 4627, 4691, 4750, 4813, 4875, 4939]
    hit0 = 10
    data1 = [0, 428, 472, 516, 555, 602, 647, 687, 732, 775, 819, 861, 906, 947, 992, 1034, 1077, 1119, 1166, 1207, 1250, 1294, 1339, 1380, 1424, 1465, 1512, 1550, 1597, 1642, 1683, 1725, 1771, 1814, 1855, 1901,
             1944, 1982, 2030, 2070, 2114, 2156, 2203, 2247, 2288, 2332, 2372, 2420, 2460, 2506, 2546, 2587, 2635, 2678, 2720, 2763, 2808, 2849, 2894, 2938, 2977, 3025, 3067, 3110, 3151, 3197, 3240, 3284, 3330, 3367, 3415]
    hit1 = 15
    data2 = [0, 8054, 8872, 9691, 10507, 11324, 12142, 12960, 13775, 14590, 15408, 16225, 17042, 17860, 18678, 19491, 20313, 21129, 21948, 22765, 23581, 24396, 25214, 26033, 26850, 27665, 28485, 29301, 30117, 30934, 31750, 32569, 33385, 34202, 35018,
             35835, 36651, 37467, 38288, 39104, 39923, 40737, 41554, 42369, 43189, 44006, 44822, 45639, 46461, 47275, 48093, 48909, 49727, 50544, 51363, 52178, 52993, 53813, 54628, 55447, 56264, 57080, 57896, 58715, 59531, 60350, 61163, 61984, 62802, 63615, 64433]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 = 1.07
        self.power1 = 1.07
        self.power2 = 1.50
        self.CDR *= 0.80


class 技能12(主动技能):
    名称 = "血光斩"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [305, 2562]
    无色消耗 = 2
    data0 = [0, 30708, 33824, 36937, 40052, 43168, 46282, 49397, 52511, 55625, 58743, 61857, 64973, 68086, 71202, 74318, 77430, 80549, 83663, 86778, 89893, 93007, 96123, 99238, 102352, 105467, 108582, 111697, 114812, 117927, 121042, 124157, 127271, 130387, 133501, 136617, 139731,
             142846, 145962, 149076, 152192, 155308, 158421, 161538, 164651, 167768, 170883, 173996, 177112, 180225, 183343, 186459, 189573, 192688, 195801, 198917, 202032, 205147, 208261, 211375, 214490, 217607, 220722, 223837, 226952, 230066, 233180, 236296, 239410, 242527, 245640]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能13(被动技能):
    名称 = 'BG枪刃改造'
    所在等级 = 48

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能14(主动技能):
    名称 = "电光飞掠"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [1018, 8551]
    无色消耗 = 5
    data0 = [0, 2638, 3250, 3859, 4470, 5083, 5694, 6306, 6918, 7529, 8139, 8748, 9361, 9972, 10583, 11196, 11806, 12417, 13028, 13640, 14251, 14863, 15475, 16085, 16693, 17305,
             17916, 18528, 19139, 19750, 20363, 20972, 21584, 22196, 22805, 23417, 24029, 24639, 25251, 25862, 26472, 27085, 27695, 28308, 28919, 29528, 30140, 30751, 31362, 31974, 32586]
    hit0 = 13
    data1 = [0, 3216, 3959, 4706, 5450, 6195, 6939, 7684, 8427, 9173, 9922, 10665, 11409, 12154, 12898, 13643, 14387, 15133, 15878, 16623, 17367, 18113, 18858, 19602, 20346, 21091,
             21838, 22582, 23327, 24070, 24815, 25560, 26307, 27050, 27796, 28541, 29286, 30029, 30775, 31520, 32265, 33009, 33755, 34499, 35245, 35988, 36734, 37479, 38223, 38967, 39713]
    hit1 = 16


class 技能15(主动技能):
    名称 = "近敌灭杀"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 25
    MP = [340, 952]
    无色消耗 = 2
    data0 = [0, 11413, 12572, 13730, 14887, 16045, 17202, 18360, 19517, 20676, 21834, 22991, 24147, 25306, 26463, 27622, 28779, 29938, 31094, 32253, 33409, 34567, 35725, 36884, 38042,
             39197, 40355, 41514, 42672, 43827, 44987, 46146, 47302, 48458, 49617, 50774, 51933, 53090, 54246, 55404, 56563, 57721, 58879, 60036, 61195, 62351, 63509, 64668, 65825, 66983, 68140]
    hit0 = 1
    data1 = [0, 858, 946, 1031, 1119, 1206, 1293, 1378, 1467, 1553, 1639, 1725, 1816, 1902, 1988, 2075, 2162, 2248, 2333, 2422, 2508, 2596, 2682, 2769, 2854,
             2943, 3029, 3116, 3202, 3289, 3376, 3465, 3551, 3637, 3725, 3811, 3898, 3984, 4072, 4158, 4245, 4332, 4418, 4505, 4593, 4677, 4765, 4851, 4940, 5024, 5112]
    hit1 = 20
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.power1 = 1.553
        self.CDR *= 0.85


class 技能16(主动技能):
    名称 = "大回旋坠斩"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [699, 1467]
    无色消耗 = 2
    data0 = [0, 1732, 1903, 2078, 2257, 2432, 2606, 2783, 2959, 3132, 3309, 3483, 3658, 3833, 4008, 4182, 4360, 4534, 4711, 4884, 5062, 5235, 5408, 5584, 5763,
             5935, 6111, 6287, 6466, 6638, 6814, 6986, 7162, 7340, 7513, 7690, 7864, 8041, 8215, 8389, 8566, 8739, 8917, 9090, 9265, 9442, 9615, 9793, 9970, 10143, 10320]
    hit0 = 10
    data1 = [0, 1810, 1993, 2176, 2361, 2542, 2725, 2909, 3091, 3273, 3458, 3641, 3823, 4007, 4190, 4369, 4556, 4739, 4922, 5103, 5285, 5470, 5656, 5837, 6020, 6204,
             6390, 6569, 6753, 6937, 7120, 7300, 7486, 7669, 7852, 8035, 8217, 8401, 8582, 8767, 8951, 9132, 9315, 9501, 9684, 9867, 10050, 10232, 10415, 10601, 10783]
    hit1 = 10
    data2 = [0, 14967, 16483, 18002, 19519, 21034, 22555, 24071, 25590, 27109, 28625, 30143, 31662, 33178, 34699, 36217, 37733, 39252, 40771, 42286, 43806, 45321, 46843, 48359, 49875,
             51394, 52911, 54429, 55948, 57465, 58985, 60502, 62021, 63538, 65056, 66572, 68092, 69608, 71125, 72645, 74163, 75679, 77197, 78715, 80234, 81752, 83270, 84789, 86307, 87823, 89341]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    # 暂时只录入了地面形态的护石数据
    # 空中形态段数001，power2 *= 3.9483

    形态 = ["地面", "空中"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            if '大回旋坠斩' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 0
                self.hit2 = 1
                self.power2 = 3.21
            else:
                形态 = "地面"
        if 形态 == "地面":
            self.hit0 = 10
            self.hit1 = 10
            self.hit2 = 1
            if '大回旋坠斩' in char.护石栏:
                self.hit0 += 1
                self.hit1 += 1
                self.power2 = 1

    def 装备护石(self, char):
        self.hit0 += 1
        self.hit1 += 1
        self.倍率 *= 1.23


class 技能17(主动技能):
    名称 = "致命焰火"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [579, 4487]
    无色消耗 = 3
    data0 = [0, 3270, 3602, 3932, 4265, 4598, 4928, 5262, 5591, 5922, 6253, 6586, 6918, 7249, 7578, 7910, 8246, 8573, 8907, 9236, 9568, 9902, 10232, 10562, 10895, 11228, 11558,
             11892, 12222, 12554, 12888, 13218, 13547, 13879, 14212, 14543, 14874, 15203, 15536, 15869, 16200, 16532, 16864, 17195, 17528, 17857, 18190, 18522, 18850, 19185, 19517]
    hit0 = 10
    data1 = [0, 3274, 3606, 3937, 4270, 4600, 4935, 5267, 5596, 5930, 6262, 6590, 6927, 7257, 7584, 7923, 8251, 8581, 8917, 9246, 9577, 9911, 10242, 10574, 10906, 11237, 11570,
             11903, 12234, 12567, 12899, 13228, 13564, 13892, 14224, 14560, 14889, 15219, 15556, 15885, 16216, 16548, 16881, 17212, 17543, 17877, 18208, 18539, 18872, 19206, 19534]
    hit1 = 15
    data2 = [0, 4905, 5399, 5902, 6395, 6894, 7393, 7890, 8384, 8884, 9381, 9876, 10375, 10871, 11369, 11866, 12365, 12863, 13356, 13858, 14352, 14850, 15348, 15846, 16342, 16840,
             17338, 17836, 18334, 18830, 19323, 19825, 20321, 20818, 21316, 21811, 22310, 22805, 23306, 23802, 24297, 24798, 25292, 25792, 26287, 26785, 27282, 27781, 28277, 28776, 29273]
    hit2 = 0

    是否有护石 = 1

    形态 = ["原地", "向后"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "原地":
            self.hit0 = 10
            self.hit1 = 15
            self.hit2 = 0
        if 形态 == "向后":
            self.hit0 = 10
            self.hit1 = 0
            self.hit2 = 10

    def 装备护石(self, char):
        self.倍率 *= 1.3
        self.CDR *= 0.90


class 技能18(被动技能):
    名称 = 'BC精锐特训'
    所在等级 = 75

    等级上限 = 50
    等级精通 = 40
    学习间隔 = 3

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能19(主动技能):
    名称 = "碧波瞬斩"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [1240, 4072]
    无色消耗 = 5
    data0 = [0, 30218, 33283, 36348, 39414, 42480, 45544, 48610, 51676, 54742, 57807, 60873, 63938, 67005, 70068, 73133, 76199, 79265, 82331, 85396, 88459, 91528, 94591, 97657, 100722, 103787, 106852,
             109919, 112983, 116047, 119115, 122179, 125246, 128310, 131376, 134442, 137506, 140571, 143637, 146703, 149768, 152834, 155899, 158966, 162031, 165095, 168162, 171225, 174292, 177357, 180423]
    hit0 = 3

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1
        self.倍率 *= 4.11


class 技能20(主动技能):
    名称 = "集结·暮光之翼"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 15300, 18848, 22393, 25942, 29485, 33034, 36581, 40130, 43676, 47222, 50768, 54315, 57865, 61410, 64957, 68505, 72050, 75598, 79146, 82691, 86239, 89786, 93334, 96879, 100427, 103975,
             107522, 111069, 114614, 118161, 121709, 125258, 128802, 132351, 135895, 139444, 142994, 146538, 150086, 153632, 157180, 160726, 164273, 167820, 171367, 174915, 178462, 182007, 185555, 189104]
    hit0 = 4
    data1 = [0, 3711, 4572, 5429, 6292, 7150, 8010, 8869, 9731, 10589, 11450, 12310, 13169, 14028, 14890, 15747, 16610, 17469, 18329, 19188, 20049, 20909, 21768, 22628, 23489, 24348,
             25208, 26067, 26927, 27788, 28648, 29506, 30367, 31227, 32085, 32947, 33808, 34666, 35527, 36385, 37248, 38106, 38967, 39825, 40685, 41546, 42406, 43264, 44127, 44985, 45846]
    hit1 = 11
    data2 = [0, 4081, 5026, 5975, 6921, 7864, 8812, 9757, 10704, 11648, 12595, 13542, 14486, 15431, 16379, 17325, 18269, 19216, 20162, 21107, 22053, 22999, 23944, 24892, 25835, 26785,
             27728, 28675, 29623, 30567, 31513, 32458, 33405, 34349, 35296, 36240, 37187, 38133, 39078, 40026, 40970, 41917, 42860, 43809, 44753, 45699, 46644, 47591, 48535, 49483, 50431]
    hit2 = 20
    data3 = [0, 20397, 25127, 29857, 34586, 39316, 44044, 48775, 53505, 58232, 62963, 67690, 72421, 77150, 81880, 86609, 91336, 96066, 100797, 105524, 110255, 114986, 119714, 124444, 129172, 133902,
             138632, 143359, 148090, 152819, 157549, 162279, 167008, 171735, 176465, 181196, 185925, 190654, 195383, 200114, 204841, 209572, 214300, 219030, 223759, 228488, 233219, 237948, 242675, 247407, 252135]
    hit3 = 1


class 技能21(主动技能):
    名称 = "燃情协战"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [1007, 7550]
    无色消耗 = 7
    # 此处为向前突进形态的数据，普通施放为10 6 0 0 0
    data0 = [0, 5722, 6301, 6879, 7459, 8039, 8620, 9201, 9780, 10359, 10940, 11520, 12099, 12683, 13261, 13840, 14421, 14999, 15581, 16161, 16739, 17318, 17900, 18479, 19059, 19639,
             20220, 20799, 21379, 21958, 22538, 23120, 23699, 24278, 24859, 25440, 26020, 26600, 27179, 27760, 28339, 28920, 29499, 30080, 30660, 31238, 31817, 32400, 32979, 33560, 34138]
    hit0 = 0
    data1 = [0, 17699, 19494, 21288, 23083, 24879, 26672, 28470, 30266, 32061, 33856, 35648, 37445, 39239, 41035, 42829, 44626, 46422, 48217, 50011, 51805, 53603, 55396, 57192, 58988, 60783,
             62579, 64372, 66167, 67962, 69759, 71553, 73349, 75144, 76938, 78736, 80529, 82324, 84120, 85916, 87710, 89505, 91300, 93096, 94891, 96685, 98482, 100276, 102072, 103868, 105662]
    hit1 = 0
    data2 = [0, 3269, 3600, 3931, 4265, 4595, 4925, 5257, 5591, 5921, 6252, 6583, 6917, 7245, 7576, 7909, 8241, 8571, 8902, 9235, 9566, 9896, 10229, 10560, 10891, 11222, 11556,
             11886, 12218, 12548, 12878, 13211, 13543, 13872, 14205, 14537, 14867, 15199, 15531, 15863, 16195, 16525, 16856, 17187, 17521, 17851, 18183, 18512, 18844, 19176, 19507]
    hit2 = 10
    data3 = [0, 9803, 10795, 11791, 12784, 13778, 14772, 15769, 16761, 17756, 18749, 19745, 20738, 21732, 22725, 23721, 24714, 25709, 26703, 27698, 28692, 29686, 30679, 31675, 32667,
             33662, 34656, 35652, 36645, 37640, 38632, 39627, 40622, 41616, 42609, 43604, 44597, 45592, 46587, 47582, 48576, 49569, 50562, 51557, 52553, 53547, 54539, 55533, 56530, 57523, 58518]
    hit3 = 5
    data4 = [0, 81666, 89955, 98236, 106522, 114806, 123092, 131376, 139662, 147945, 156232, 164515, 172801, 181085, 189370, 197653, 205938, 214223, 222507, 230793, 239078, 247362, 255648, 263933, 272217, 280502,
             288788, 297071, 305355, 313641, 321924, 330210, 338496, 346779, 355064, 363351, 371634, 379918, 388204, 396491, 404774, 413059, 421343, 429628, 437913, 446198, 454482, 462767, 471052, 479337, 487621]
    hit4 = 1

    形态 = ['突进', '普通']

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "突进":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 10
            self.hit3 = 5
            self.hit4 = 1
        if 形态 == "普通":
            self.hit0 = 10
            self.hit1 = 6
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0


class 技能22(被动技能):
    名称 = '暮光战略'
    所在等级 = 95

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = "暮光密令：黎明决战"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 1865, 2296, 2728, 3161, 3592, 4024, 4455, 4887, 5318, 5750, 6183, 6614, 7048, 7479, 7909, 8343, 8775, 9205, 9638, 10069, 10500, 10935, 11365, 11796, 12228, 12661,
             13091, 13523, 13956, 14389, 14818, 15250, 15684, 16115, 16548, 16979, 17410, 17842, 18275, 18706, 19136, 19570, 20002, 20433, 20866, 21298, 21730, 22162, 22592, 23024]
    hit0 = 22
    data1 = [0, 38412, 47320, 56228, 65133, 74038, 82948, 91852, 100758, 109669, 118573, 127479, 136387, 145293, 154201, 163107, 172014, 180922, 189827, 198732, 207641, 216548, 225452, 234362, 243268, 252173,
             261079, 269989, 278894, 287800, 296708, 305614, 314519, 323428, 332335, 341240, 350149, 359055, 367960, 376869, 385774, 394682, 403589, 412494, 421403, 430309, 439214, 448124, 457029, 465934, 474844]
    hit1 = 2
    data2 = [0, 32010, 39432, 46856, 54278, 61699, 69121, 76544, 83967, 91389, 98811, 106233, 113657, 121080, 128500, 135922, 143345, 150767, 158188, 165612, 173034, 180456, 187880, 195301, 202723, 210145,
             217568, 224989, 232410, 239835, 247257, 254678, 262102, 269523, 276947, 284368, 291792, 299211, 306633, 314057, 321479, 328901, 336323, 343746, 351169, 358592, 366013, 373435, 380857, 388280, 395701]
    hit2 = 4
    data3 = [0, 3843, 4733, 5624, 6516, 7405, 8298, 9187, 10078, 10968, 11859, 12750, 13641, 14531, 15423, 16311, 17203, 18094, 18984, 19876, 20767, 21658, 22549, 23436, 24327, 25220,
             26109, 27000, 27892, 28782, 29671, 30564, 31453, 32345, 33235, 34126, 35018, 35907, 36798, 37689, 38579, 39470, 40360, 41252, 42141, 43034, 43923, 44815, 45704, 46596, 47488]
    hit3 = 16
    data4 = [0, 204856, 252359, 299862, 347364, 394867, 442370, 489872, 537377, 584878, 632380, 679883, 727386, 774890, 822391, 869892, 917396, 964896, 1012400, 1059902, 1107406, 1154909, 1202410, 1249914, 1297417, 1344919,
             1392423, 1439924, 1487427, 1534929, 1582433, 1629935, 1677436, 1724939, 1772443, 1819945, 1867446, 1914949, 1962454, 2009956, 2057458, 2104959, 2152463, 2199966, 2247468, 2294971, 2342472, 2389977, 2437480, 2484982, 2532483]
    hit4 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'hitman'
        self.名称 = '苍暮·暗刃'
        self.角色 = '枪剑士'

        self.职业 = '暗刃'
        self.武器选项 = ['长刀']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '长刀'
        self.防具类型 = '轻甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.85

        super().__init__(equVersion)
